﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using QuanLyQuanCafe.DataAccess;
using QuanLyQuanCafe.BusinessObject;
using System.Data;
using System.Data.SqlClient;
using System.Windows.Forms;

namespace QuanLyQuanCafe.BusinessLogic
{
    class CT_MonAnBL
    {
        KetNoiDuLieu connect = new KetNoiDuLieu();
        public DataTable DSCT_MonAn()
        {
            string sql = "SELECT * FROM CT_MONAN";
            return connect.LayDanhSachDuLieu(sql);
        }

        public DataTable DSMonAnNguyenLieu(int value)
        {
            string sql = "SELECT  NGUYENLIEU.TenNL, CT_MONAN.SoLuong, DVT.TenDVT FROM NGUYENLIEU, CT_MONAN, DVT WHERE NGUYENLIEU.MaNL = CT_MONAN.MaNL AND DVT.MaDVT = CT_MONAN.MaDVT AND CT_MONAN.MaMon = '"+value+"'";
            return connect.LayDanhSachDuLieu(sql);
        }

        public DataTable LayChiTietMonAnTheoMaNguyenLieu( string maNL)
        {
            string sql = "SELECT * FROM CT_MONAN WHERE MaNL = '" + maNL + "'";
            return connect.LayDanhSachDuLieu(sql);
        }
 
        public bool CheckCTMonAn(int value1)
        {
            if (connect.KiemTraGiaTriInt("CT_MONAN", "MaMon", value1))
                return true;
            return false;
        }

        public bool CheckCTNL(int value1)
        {
            if (connect.KiemTraGiaTriInt("CT_MONAN", "MaNL", value1))
                return true;
            return false;
        }

        public bool ThemCTMon(CT_MonAnBO ctmonanBO)
        {
            if (TestSave(ctmonanBO))
            {
                string sql = string.Format("INSERT INTO CT_MONAN VALUES ('{0}', '{1}', '{2}','{3}')", ctmonanBO.MaMon, ctmonanBO.MaNL, ctmonanBO.SoLuong, ctmonanBO.MaDVT);
                if (connect.ExecuteQuery(sql))
                {
                    MessageBox.Show("Thêm Thành Công!", "Quản Lý Quán Cafe", MessageBoxButtons.OK, MessageBoxIcon.Information);
                    return true;
                }
            }
            return false;
        }

        public bool SuaCTMon(CT_MonAnBO ctmonanBO)
        {
            if (TestSave(ctmonanBO))
            {
                string sql = string.Format("UPDATE CT_MONAN SET MaNL = '{0}', SoLuong = '{1}', MaDVT ='{2}'" + "WHERE MaMon = '{3}'", ctmonanBO.MaNL, ctmonanBO.SoLuong, ctmonanBO.MaDVT, ctmonanBO.MaMon);
                if (connect.ExecuteQuery(sql))
                {
                    MessageBox.Show("Sửa Thành Công!", "Quản Lý Quán Cafe", MessageBoxButtons.OK, MessageBoxIcon.Information);
                    return true;
                }
            }
            return false;
        }

        public bool SuaCTMonNL(CT_MonAnBO ctmonanBO)
        {
            if (TestSave(ctmonanBO))
            {
                string sql = string.Format("UPDATE CT_MONAN SET  SoLuong = '{0}', MaDVT ='{1}'" + "WHERE MaMon = '{2}' AND MaNL ='{3}'", ctmonanBO.SoLuong, ctmonanBO.MaDVT, ctmonanBO.MaMon, ctmonanBO.MaNL);
                if (connect.ExecuteQuery(sql))
                {
                    MessageBox.Show("Sửa Thành Công!", "Quản Lý Quán Cafe", MessageBoxButtons.OK, MessageBoxIcon.Information);
                    return true;
                }
            }
            return false;
        }


        public bool XoaCTMon(string value1, string value2)
        {
            string sql = string.Format("DELETE FROM CT_MONAN WHERE MaNL = '" + value1 + "' AND MaMon = '"+value2+"'");
            if (connect.ExecuteQuery(sql))
            {
                MessageBox.Show("Xóa Thành Công!", "Quản Lý Quán Cafe", MessageBoxButtons.OK, MessageBoxIcon.Information);
                return true;
            }
            return false;
        }

        public bool XoaCTMaMon(string value)
        {
            string sql = string.Format("DELETE FROM CT_MONAN WHERE MaMon = '" + value + "'");
            if (connect.ExecuteQuery(sql))
            {
                return true;
            }
            return false;
        }

        public bool TestSave(CT_MonAnBO ctmonanBO)
        {
            if (ctmonanBO.MaMon.Equals(""))
            {
                MessageBox.Show("Mã Món Không Hợp Lệ!", "Quản Lý Quán Cafe", MessageBoxButtons.OK, MessageBoxIcon.Warning);
                return false;
            }
            if (ctmonanBO.MaNL.Equals(""))
            {
                MessageBox.Show("Tên Món Không Hợp Lệ!", "Quản Lý Quán Cafe", MessageBoxButtons.OK, MessageBoxIcon.Warning);
                return false;
            }
            if (ctmonanBO.SoLuong < 0)
            {
                MessageBox.Show("Số lượng Nguyên Liệu Phải Lớn Hơn 0!", "Quản Lý Quán Cafe", MessageBoxButtons.OK, MessageBoxIcon.Warning);
                return false;
            }

            return true;
        }
    }
}
